package com.zhangxi.websqlit.user.service;

import com.zhangxi.websqlit.mybatis.entity.PtContactEnity;
import com.zhangxi.websqlit.mybatis.entity.PtUserEntity;
import com.zhangxi.websqlit.user.entity.MailVfcCodeEntity;
import com.zhangxi.websqlit.user.entity.UserSearchEntity;
import com.zhangxi.websqlit.user.exception.MoreMailException;
import com.zhangxi.websqlit.user.exception.NotMailException;

import java.io.InputStream;
import java.util.List;

public interface UserInfoService {
    List<PtUserEntity> queryUserList(UserSearchEntity search);

    PtUserEntity queryLogin(String userName, String password);

    PtUserEntity queryUserInfoById(String userUuid);

    Integer updateUserInfoById(PtUserEntity entity);

    void updateUserPasswdById(PtUserEntity entity);

    void regiterUser(PtUserEntity entity);

    Integer queryUserInfoCount(PtUserEntity entity);

    String unloadPhoto(String fileName, InputStream inputStream, String userUuid);

    List<PtContactEnity> queryFriendsListById(String userUuid, String searchUserKey);

    String getMailVfcCode(String email) throws NotMailException, MoreMailException;

    void updatePasswordByMail(MailVfcCodeEntity entity) throws NotMailException, MoreMailException;
}
